package com.lancoo.ccas52.service;

import com.lancoo.ccas52.entity.TaskInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lancoo.ccas52.pojo.vo.*;

import java.util.List;

/**
 * <p>
 * 排课计划 服务类
 * </p>
 *
 * @author quin.song
 * @since 2022-12-20
 */
public interface TaskInfoService extends IService<TaskInfo> {

    /**
     * 创建新学期计划
     * @param taskInput
     * @return
     */
    TaskInfo addTask(TaskInput taskInput) ;

    /**
     * 批量删除任务id
     * @param taskIds
     */
    void removeTaskByIds(List<Integer> taskIds);

    /**
     * 根据学校id 学期获取年级信息
     * @param schoolId
     * @param term
     * @return
     */
    List<GradeDto> getGrade(String schoolId,String term);

    /**
     * 获取学期周次信息
     * @param taskId
     * @return
     */
    WeekDateVo countWeek(Integer taskId);


    /**
     * 获取去重学院信息
     * @param taskId
     * @param module 1：教学计划
     * @return
     */
    List<CollegeDto> getCollegeByTaskId(Integer taskId, Integer module);

    /**
     * 获取年级
     * @param taskId
     * @param module
     * @return
     */
    List<GradeDto> getGradeByTaskId(Integer taskId, Integer module);
    /**
     *  获取专业
     * @param taskId
     * @param module
     * @return
     */
    List<MajorDto> getMajorByTaskId(Integer taskId, Integer module, String collegeId);
    /**
     * 获取班级
     * @param taskId
     * @param module
     * @return
     */
    List<ClassDto> getClassByTaskId(Integer taskId, Integer module, String collegeId, String majorId, String gradeId);

}
